<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">

    <title>Tigon开源企业级微服务平台</title>

    <meta name="description" content="Tigon开源企业级微服务平台">
    <meta name="author" content="TylerChen">

    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

    <link rel="stylesheet" href="../css/reveal.css">
    <link rel="stylesheet" href="../css/theme/custom.css" id="theme">

    <!-- Theme used for syntax highlighting of code -->
    <link rel="stylesheet" href="../lib/css/zenburn.css">

    <!-- Printing and PDF exports -->
    <script>
        var link = document.createElement( 'link' );
        link.rel = 'stylesheet';
        link.type = 'text/css';
        link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
        document.getElementsByTagName( 'head' )[0].appendChild( link );
    </script>

    <!--[if lt IE 9]>
    <script src="../lib/js/html5shiv.js"></script>
    <![endif]-->
</head>

<body>

<div class="reveal">

    <!-- Any section element inside of this container is displayed as a slide -->
    <div class="slides">
        <section>
            <h1><img src="../docs/resources/tigonlogo.png"
                     style="margin: 0;border: 0;box-shadow: 0 0 0 rgba(0, 0, 0, 0);width: 10%;">Tigon 入门</h1>
            <h3>基础组件部署</h3>
            <p>
                <small>注册中心，服务网关，管理界面，用户权限</small>
            </p>
        </section>

        <section>
            <section>
                <h1>注册中心部署</h1>
                <ul>
                    <li>1. 编译</li>
                    <li>2. 部署</li>
                    <li>3. 界面</li>
                </ul>
                <br/>
                <a href="#" class="navigate-down">
                    <img width="89" height="119" data-src="./resources/arrow.png" alt="向下">
                </a>
            </section>
            <section>
                <h3>1. 编译</h3>
                <small><p>先检出源码，项目目录tigon/foss-qdp-registry-project，如有需要可修改 Spring boot 配置，然后进行构建打包。</p></small>
                <pre><code class="hljs" data-trim contenteditable>
git clone https://gitee.com/HTPMO/tigon.git
cd tigon/foss-qdp-registry-project
mvn clean install
# spring boot application config file:
# src/main/resources/config/application.properties
                </code></pre>
            </section>
            <section>
                <h3>2. 部署</h3>
                <small><p>编译完成后 war 包在 target 目录下，可以把 war 包拷贝到服务器上然后运行。</p></small>
                <pre><code class="hljs" data-trim contenteditable>
java -jar target/foss-qdp-registry-project-2.0.0.war
                </code></pre>
            </section>
            <section>
                <h3>3. 界面</h3>
                <small><p>运行后，默认的端口是9200，打开网页：<a href="http://localhost:9200">http://localhost:9200</a>。</p></small>
                <small><p>用户名：admin@admin.com，密码：123456</p></small>
                <img src="./resources/tutorial/01-eureka.png">
            </section>
        </section>

        <section>
            <section>
                <h1>服务网关部署</h1>
                <ul>
                    <li>1. 编译</li>
                    <li>2. 部署</li>
                    <li>3. 界面</li>
                </ul>
                <br/>
                <a href="#" class="navigate-down">
                    <img width="89" height="119" data-src="./resources/arrow.png" alt="向下">
                </a>
            </section>
            <section>
                <h3>1. 编译</h3>
                <small><p>先检出源码，项目目录tigon/foss-qdp-api-gateway-project，如有需要可修改 Spring boot 配置，然后进行构建打包。</p></small>
                <small><p>注册中心地址要与上面部署地址一致：eureka.client.serviceUrl.defaultZone。</p></small>
                <pre><code class="hljs" data-trim contenteditable>
# git clone https://gitee.com/HTPMO/tigon.git
cd tigon/foss-qdp-api-gateway-project
mvn clean install
# spring boot application config file:
# src/main/resources/config/application.properties
                </code></pre>
            </section>
            <section>
                <h3>2. 部署</h3>
                <small><p>编译完成后 war 包在 target 目录下，可以把 war 包拷贝到服务器上然后运行。</p></small>
                <pre><code class="hljs" data-trim contenteditable>
java -jar target/foss-qdp-api-gateway-project-2.0.0.war
                </code></pre>
            </section>
            <section>
                <h3>3. 界面</h3>
                <small><p>运行后，默认的端口是9100，打开网页：<a href="http://localhost:9100">http://localhost:9100</a>。</p></small>
                <small><p>用户名：admin@admin.com，密码：123456</p></small>
                <img src="./resources/tutorial/02-gateway.png">
            </section>
        </section>

        <section>
            <section>
                <h1>管理界面部署</h1>
                <ul>
                    <li>1. 编译</li>
                    <li>2. 部署</li>
                    <li>3. 界面</li>
                </ul>
                <br/>
                <a href="#" class="navigate-down">
                    <img width="89" height="119" data-src="./resources/arrow.png" alt="向下">
                </a>
            </section>
            <section>
                <h3>1. 编译</h3>
                <small><p>先检出源码，项目目录tigon/foss-qdp-admin-project，如有需要可修改 Spring boot 配置，然后进行构建打包。</p></small>
                <small><p>注册中心地址要与上面部署地址一致：eureka.client.serviceUrl.defaultZone。</p></small>
                <pre><code class="hljs" data-trim contenteditable>
# git clone https://gitee.com/HTPMO/tigon.git
cd tigon/foss-qdp-admin-project
mvn clean install
# spring boot application config file:
# src/main/resources/config/application.properties
                </code></pre>
            </section>
            <section>
                <h3>2. 部署</h3>
                <small><p>编译完成后 war 包在 target 目录下，可以把 war 包拷贝到服务器上然后运行。</p></small>
                <pre><code class="hljs" data-trim contenteditable>
java -jar target/foss-qdp-admin-project-2.0.0.war
                </code></pre>
            </section>
            <section>
                <h3>3. 界面</h3>
                <small><p>运行后，默认的端口是9000，打开网页：<a href="http://localhost:9100">http://localhost:9000</a>。</p></small>
                <small><p>用户名：admin@admin.com，密码：123456</p></small>
                <br/>
            </section>
            <section>
                <h4>微服务实例列表</h4>
                <img src="./resources/tutorial/03-admin-01.png">
            </section>
            <section>
                <h4>微服务列表</h4>
                <img src="./resources/tutorial/03-admin-02.png">
            </section>
            <section>
                <h4>报表平台</h4>
                <img src="./resources/tutorial/03-admin-03.png">
            </section>
            <section>
                <h4>日志平台</h4>
                <img src="./resources/tutorial/03-admin-04.png">
            </section>
            <section>
                <h4>注册中心</h4>
                <img src="./resources/tutorial/03-admin-05.png">
            </section>
            <section>
                <h4>服务跟踪</h4>
                <img src="./resources/tutorial/03-admin-06.png">
            </section>
        </section>

        <section>
            <section>
                <h1>用户权限部署</h1>
                <ul>
                    <li>1. 编译</li>
                    <li>2. 部署</li>
                    <li>3. 界面</li>
                </ul>
                <br/>
                <a href="#" class="navigate-down">
                    <img width="89" height="119" data-src="./resources/arrow.png" alt="向下">
                </a>
            </section>
            <section>
                <h3>1. 编译</h3>
                <small><p>先检出源码，项目目录tigon/foss-qdp-auth-project，如有需要可修改 Spring boot 配置，然后进行构建打包。</p></small>
                <small><p>注册中心地址要与上面部署地址一致：eureka.client.serviceUrl.defaultZone。</p></small>
                <pre><code class="hljs" data-trim contenteditable>
# git clone https://gitee.com/HTPMO/tigon.git
cd tigon/foss-qdp-auth-project
mvn clean install
# spring boot application config file:
# src/main/resources/config/application.properties
                </code></pre>
            </section>
            <section>
                <h3>2. 部署</h3>
                <small><p>编译完成后 war 包在 target 目录下，可以把 war 包拷贝到服务器上然后运行。</p></small>
                <pre><code class="hljs" data-trim contenteditable>
java -jar target/foss-qdp-auth-project-5.0.0.war
                </code></pre>
            </section>
            <section>
                <h3>3. 界面</h3>
                <small><p>运行后，默认的端口是8080，打开网页：<a href="http://localhost:8080">http://localhost:8080</a>。</p></small>
                <small><p>用户名：admin@admin.com，密码：123456</p></small>
            </section>
            <section>
                <h4>员工管理</h4>
                <img src="./resources/tutorial/04-auth-01.png">
            </section>
            <section>
                <h4>账号管理</h4>
                <img src="./resources/tutorial/04-auth-02.png">
            </section>
            <section>
                <h4>资源管理</h4>
                <img src="./resources/tutorial/04-auth-03.png">
            </section>
            <section>
                <h4>菜单管理</h4>
                <img src="./resources/tutorial/04-auth-04.png">
            </section>
            <section>
                <h4>角色管理</h4>
                <img src="./resources/tutorial/04-auth-05.png">
            </section>
            <section>
                <h4>组织机构管理</h4>
                <img src="./resources/tutorial/04-auth-06.png">
            </section>
            <section>
                <h4>字典管理</h4>
                <small><p>其他功能有：国际化管理，查询管理，Quartz任务管理，脚本管理</p></small>
                <img src="./resources/tutorial/04-auth-07.png">
            </section>
        </section>

        <section>
            <section>
                <h1>Swagger</h1>
                <p>平台默认集成了 Swagger 及其 UI 界面</p>
                <small><p>打开网页：<a href="http://localhost:8080/swagger-ui.html">http://localhost:8080/swagger-ui.html</a>。
                </p></small>
            </section>
            <section>
                <h4>Swagger-ui</h4>
                <img src="./resources/tutorial/05-swagger.png">
            </section>
        </section>

        <section>
            <section>
                <h1>JWT</h1>
                <small><p>平台默认集成了JWT认证，JWT请求 URL 地址：<a href="http://localhost:8080/system/login.jwt">http://localhost:8080/system/login.jwt</a>。先要将loginPasswd原文进行
                    RSA 加密，（ RSA 公钥配置： META-INF/config/system.properties）。
                </p></small>
                <pre><code class="hljs" data-trim contenteditable>
curl -d \
     'loginId=admin@admin.com&loginPasswd=THU9N1ynYkihl8mgsiYUoQH5oDpmivqDlKAATpb6b0uTXaOrsv4Ojewm2r8X2OWkONrkn6AZCLJBj0bi77hIGwnVn/8LSuN9C1yHYn63LF0eXmmxpmK7IMI93pAbolmzHTJec3LZcFz0QSn9nzr1L9FHI3VG4nkDqpNH0L2R1b4=' \
     http://120.26.82.66:8080/system/login.jwt
                </code></pre>
                <small><p>返回结果如下：</p></small>
                <pre><code class="hljs" data-trim contenteditable>
{
    "header": {
        "status": "success",
        "Expires": 300000
    },
    "body": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJHYVBSd3kzbUVQSWtQeDV5NTRKIiwiaWF0IjoxNTMzODkzNTA5LCJpc3MiOiJ0eWxlcmNoZW4tcWRwIiwic3ViIjoiYWRtaW5AYWRtaW4uY29tIiwiZXhwIjoxNTMzODkzODA5fQ.IVCovGqUiwv0-xQVNHMrJimljcS1zHAmPAZ_IBvKvoE"
}
                </code></pre>
            </section>
        </section>
    </div>

</div>

<script src="../lib/js/head.min.js"></script>
<script src="../js/reveal.js"></script>

<script>
// More info https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
    controls: true,
    progress: true,
    history: true,
    center: true,
    transition: 'slide', // none/fade/slide/convex/concave/zoom

    // More info https://github.com/hakimel/reveal.js#dependencies
    dependencies: [
        { src: '../lib/js/classList.js', condition: function() { return !document.body.classList; } },
        { src: '../plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
        { src: '../plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
        { src: '../plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
        { src: '../plugin/search/search.js', async: true },
        { src: '../plugin/zoom-js/zoom.js', async: true },
        { src: '../plugin/notes/notes.js', async: true }
    ]
});
</script>

</body>
</html>
